
//页面载入完毕后更改分页ul的样式
$(function () {
    $('.batchDel').next('ul').removeClass('pagination');
    $('.batchDel').next('ul').addClass('am-pagination');
    $('.batchDel').next('ul').addClass('am-fr');

});


//验证一个标签之后是否是指定标签
function appointNextLabelExists(obj, objLabel) 
{
    if(obj.next(objLabel).length != 0){
        return false;
    }
    return true;
}

//判断品牌名称框是否为空
function brandNameIsNull(obj) 
{
    obj.next('span').remove();
    if (!obj.val()) {
        
        //值为空时删除content属性
        obj.removeProp('content');
        obj.after('<span class="am-text-danger"> *请输入品牌名称</span>');
        return false;
    } else {
        //将obj.val()的数据保存
        obj.prop('content', obj.val());
        return true;
    }
}

//判断品牌名是否存在
function brandNameExists(obj)
{
    //拼接请求的地址
    urls = 'brand/' + obj.val();

    //发起ajax检测是否有此品牌
    $.ajax({
        type: 'get',
        url: urls,
        dataType: 'json',
        success: function (data) {
            if (data.code == 1) {
                if (!obj.next('span')) {
                    obj.next('span').remove();
                }
                obj.after('<span class="am-text-danger"> *品牌已存在，不可用</span>');
            }
        }
    });
}




//判断当前文件域是否有选中文件
function fileIsSelect(obj) 
{
    if (obj.val() == '') {
        //没有则删除$('#showSelectImg')元素里面的内容
        $('#showSelectImg').empty();
        obj.after('<span class="am-text-danger">*请选择要上传的图片，格式为jpeg、png、bmp、gif、svg，大小不超过1M</span>');
        return false;
    }
    return true;
}


//判断选中文件的大小
function fileSize(obj, size)
{
    if (obj[0].files[0].size > size) {
            
        //$('#showSelectImg')用于显示选中的图片
        //删除原来显示的图片
        $('#showSelectImg').empty();

        obj.after('<span class="am-text-danger">*上传的文件不能大于1M</span>');
        return false;
    }
    return true;
}

//判断文件类型
function fileType(obj, fileSuffix, typeArr)
{
    var bool = $.inArray(fileSuffix, typeArr);

    if (bool == -1) {

        //图片类型不正确时的提示
        var txt = '<span class="am-text-danger">*图片的格式不正确，请上传jpeg、png、bmp、gif、svg类型的图片</span>';

        //删除原来显示的图片
        $('#showSelectImg').empty();

        //在$(this)后面加入提示变量
        obj.after(txt);
        return false;
    }
    return true;
}


//用于选中的显示图片
function change(obj, pantObj) 
{  
    //获取图片的链接
    var a = URL.createObjectURL(obj.files[0]);
    var template = '<img src="'+a+'" height="60" > '; 
    //将图片显示出来
    pantObj.empty().append(template);  
}



//添加数据的表单提交时的验证
$('.addform').submit(function () {
    var bool = appointNextLabelExists($('input[name="name"]'), 'span');
    if (!bool) {
        return false;
    }
    bool = appointNextLabelExists($('input[name="brandpic"]'), 'span');
    if (!bool) {
        return false;
    }
    bool = appointNextLabelExists($('#content'), 'span');
    if (!bool) {
        return false;
    }
    
});


//判断新增品牌名
$('input[name="name"]').focusout(function () {

    //判断品牌名称框是否有输入
    $bool = brandNameIsNull($(this));

    //判断结果,没有输入用户名时停止向下执行
    if (!$bool) {
        return false;
    }

    //获取此时输入的数据
    var brandName = $(this).val();
    brandNameExists($(this));
});

//为file域绑定change事件用来判断要上传的文件 
$(document).on('change', 'input[name="brandpic"]', function () {

    //删除$(this)后面的span标签
    $(this).next('span').remove();

    //判断当前文件域是否有选中文件
    var bool = fileIsSelect($(this));

    if (!bool) {
        return false;
    }



    //获得图片后缀
    var suffixName = $(this).val().split('.').pop();
    //定义图片格式
    var type = ['jpeg', 'jpg', 'png', 'bmp', 'gif', 'svg'];
    //判断选中的图片是否为符合的格式
    bool = fileType($(this), suffixName, type);
    if (!bool) {
        return false;
    }

    //判断上传文件大小start
    var maxSize = 1 * 1024 * 1024;
    bool = fileSize($(this), maxSize);
    if (!bool) {
        return false;
    }

    return change(this, $('#showSelectImg'));
});




//判断对品牌描述的字符数量
$('#content').blur(function () {
    var num = $(this).val().length;
    $(this).next('span').remove();
    if (num > 200) {
        $(this).after('<span class="am-text-danger">*品牌描述不能超过200个字符</span>');
    }
});


//验证修改域

//点击修改时迁移当前点击的这条数据到修改框并判断
$(document).on('click', '.update', function () {

    //获取当前品牌的名称
    var name = $(this).parents('tr').children('.Tname').children('span').html();

    //获取id
    var id = $(this).parents('tr').children('.sequence').html();

    //获得当前品牌的logo链接
    var logo = $(this).parents('tr').children('.logo').children('img').attr('src');
    //获取当前品牌的描述
    var des = $(this).parents('tr').children('.des').html();

    //将提取出来的数据放在修改域
    $('input[name="updatename"]').val(name);
    //将品牌名保存，用做判断
    $('input[name="updatename"]').attr('content', name);
    //将品牌名保存到oldName
    $('.oldName').val(name);

    //将品牌描述放入品牌描述中
    $('.content').val(des);
    //保存值用以判断
    $('.content').attr('content', des);
    
    $('#updateImg').children('img').attr('src', logo);

    //修改表单提交的地址
    url = "brand" + '/' + id;
    $('.updateForm').attr('action', url);

});

//判断修改品牌名
$('input[name="updatename"]').focusout(function () {

    //判断品牌名是否有过修改
    if ($(this).val() == $(this).attr('content')) {
        if ($(this).next('span')) {
            $(this).next('span').remove();
        }
        return false;
    }
    //判断品牌名称框是否有输入
    $bool = brandNameIsNull($(this));

    //判断结果,没有输入用户名时停止向下执行
    if (!$bool) {
        return false;
    }

    //获取此时输入的数据
    var brandName = $(this).val();
    brandNameExists($(this));
});

//判断上传文件

//为file域绑定change事件用来判断要上传的文件 
$(document).on('change', '.updatebrandpic', function () {

    //清除预览图片
    if (!$(this).val()) {
        $('#updateImg').empty();
    }

    //删除$(this)后面的span标签
    $(this).next('span').remove();

    //获得图片后缀
    var suffixName = $(this).val().split('.').pop();
    //定义图片格式
    var type = ['jpeg', 'jpg', 'png', 'bmp', 'gif', 'svg'];
    //判断选中的图片是否为符合的格式
    bool = fileType($(this), suffixName, type);
    if (!bool) {
        return false;
    }

    //判断上传文件大小start
    var maxSize = 1 * 1024 * 1024;
    bool = fileSize($(this), maxSize);
    if (!bool) {
        return false;
    }

    change(this, $('#updateImg'));
});


//修改数据的表单提交时的验证
$('.updateForm').submit(function () {
    //判断是否有提示
    var bool = appointNextLabelExists($('input[name="updatename"]'), 'span');
    if (!bool) {
        return false;
    }
    bool = appointNextLabelExists($('input[name="updatebrandpic"]'), 'span');
    if (!bool) {
        return false;
    }
    bool = appointNextLabelExists($('#content'), 'span');
    if (!bool) {
        return false;
    }

    //判断品牌名是否修改
    if($('input[name="updatename"]').val() == $('input[name="updatename"]').attr('content')) {

        $('input[name="updatename"]').attr('disabled', 'true');
    }


    if ($('input[name="updatebrandpic"]').val() == '') {

        $('input[name="updatebrandpic"]').attr('disabled', 'true');
    }


    if ($('.content').val() == $('.content').attr('content')) {
        $('.content').attr('disabled', 'true');
    }
    
});

$('.submitData').submit(function () {
    //删除前给予的提示
    return confirm('你确定要删除？');
});
//批量删除提交时的处理
$('.batchDel').submit(function () {
    //获取所有选中的checkbox宽
    var arr = $('input:checked');

    //没有checkbox选中时直接退出，不给提交
    if (arr.length == 0) {
        return false;
    }
    //当checkbox只有一个选中时，判断是否是全选框，是则不给提交
    if (arr.length == 1) {
        if (arr.val() == 'selects'){
            return false;
        }
    }
    //定义一个变量存储要传递的值
    var res = '';
    //遍历选中的多个checkbox框，去除每个checkbox框的value值，赋给res
    for (var i = 0; i < arr.length; i++) {
        if (arr[i].value != 'selects') {
            res += arr[i].value + ',';
        }
    }
    //用最后的res拼接路径，并赋给批量删除的表单
    var url = 'brand/' + res;
    $(this).attr('action', url);

});

//全选
$('.selects').change(function () {
    if($('.selects').prop('checked')){
        $('.sel').each(function () {
            $(this).prop('checked', true);
        });
    } else {
        $('.sel').each(function () {
            $(this).prop('checked', false);
        });
    }
});